1. Field of the Invention
The invention generally relates to memory modules utilizing a serial presence detect (SPD) mechanism and, more particularly, to integrating SPD functionality in a memory component.
2. Description of the Related Art
A memory module generally refers to an assembly of memory devices on a single printed circuit board (PCB). Many types of memory modules adhere to standards that specify various electrical properties and particular physical dimensions of the PCB and connector (referred to as a form factor). The standards also specify various electrical characteristics, such as the number of pins on a connector, a particular pinout (what signals are routed to each pin), various voltage levels, memory configurations, operating speed, and the like. The characteristics of various memory modules may vary widely. For example, a conventional single inline memory module (SIMM) typically allows the simultaneous transfer of 32-bits of data, while a conventional dual inline memory module (DIMM) typically allows the simultaneous transfer of 64-bits of data.
To reduce cost and speed the time to market, it is often desirable to incorporate new memory technologies into existing memory module form factors rather than develop (or before developing) new ones. Unfortunately, upon initial design of a module, it may be difficult to foresee all of the possible memory technologies (including those not yet developed) the module may be called on to support. In order to accommodate new memory technologies, some memory module standards call for a serial presence detect (SPD) scheme, in which information about various features and attributes of a particular memory technology supported by the memory module is stored on the memory module, typically in a separate memory component.
For example, FIG. 1 illustrates an exemplary conventional memory module 100 having a plurality of memory devices 110 and a separate SPD (memory) component 120. The SPD component 120 may include a set of parameters that define how the module 100 may be accessed to read and write data to/from the memory devices 110. These parameters may include access speed, memory size, configuration, and manufacturer data, for example, as specified in Joint Electron Device Engineering Council (JEDEC) STANDARD No. 21-C (Section 4.1.2 SERIAL PRESENCE DETECT STANDARD, General Standard), incorporated herein by reference.
Data in the SPD component 120 may be accessed via serial interface lines 122, for example, coupling a plurality of control pins of the SPD component 120 to conductive “fingers” 132 of a connector 130. For example, when a computer system is initialized at power-up (booted), the information stored in the SPD component 120 may be polled by the basic input/output system (BIOS) to determine the size, data width, speed, and voltage requirements of the module 100. The BIOS may use this information to configure the memory properly for maximum reliability and performance. If a memory module does not have an SPD component 120, the computer may not boot or the BIOS may be configured to assume default values for these parameters which may cause problems for the memory modules (e.g., suboptimal performance).
The illustrated SPD scheme may allow various different memory technologies to be incorporated in a standard form factor. For example, different arrangements of possibly different memory devices (e.g., different data widths) may be assembled on the same form factor, with each different arrangement having different SPD data written in its SPD component 120 to identify its operating parameters. However, the scheme suffers from a number of drawbacks. As an example, the addition of SPD component 120 increases PCB space and adds to the overall cost to the module 100. Further, the addition of SPD component 120 leads to additional inventory overhead as it represents another part that must be stocked.
Accordingly, what is needed is an improved technique for storing and reading out memory module parameters (e.g., an improved SPD scheme).